/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_Studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once

#include <node后端.h>
#include <节点数据声明.h>
#include <节点编辑.h>



void f_global_set切换物体编辑模式(S_Props& prop);
void f_OE_开始拾取点初始化(S_摄像机* camera, const vec2& 鼠标局部位置, const S_Rect2Df& rect);


void f_OE_骨骼姿态编辑模式切换(S_Props& prop);
void f_OE_移动后更新(std::vector<S_物体*>& obs);
void f_OE_旋转后更新(std::vector<S_物体*>& obs);
void f_OE_缩放后更新(std::vector<S_物体*>& obs);


void f_OE_准备变换(std::set<S_物体*>& obs, uint32 变换类型);
void f_OE_变换完成();
void f_OE_变换取消();



void f_OE_物体变换插帧(uint32 变换类型);

void f_OE_物体添加到渲染层(S_Object* 渲染层, const std::set<S_物体*>& obs);
void f_OE_物体添加到渲染层(S_Object* 渲染层, const std::vector<S_渲染对象*>& obs);

void f_OE_物体从渲染层移除(S_Object* 渲染层, S_渲染对象** obs, uint32 num);


void f_OE_复制(std::set<S_物体*>& obs, bool 链接);
void f_OE_更新网格包围盒(const std::set<S_物体*>& obs);
void f_OE_更新网格包围盒(S_物体& obs, std::vector<S_VNTC>& vnData);

//void f_OE_计算网格包围盒(S_物体* ob);



